package ali;

/**
 *
 * @author wxh
 */
public class Solution_11 {

	// 基本思路：将两个字符串按点分割成块，然后逐个比较这些块
	public int compareVersion(String version1, String version2) {

		//1、根据点分割两个字符串将分割的结果存储到数组中
		String[] nums1 = version1.split("\\.");
		String[] nums2 = version2.split("\\.");
		int n1 = nums1.length;
		int n2 = nums2.length;

		for (int i = 0; i < Math.max(n1, n2); i++) { // 遍历较长那个数组并逐个比较

			//1、如果其中一个数组结束了，直接填充为零，以继续与较长的数组进行比较
			int num1 = i < n1 ? Integer.parseInt(nums1[i]) : 0;
			int num2 = i < n2 ? Integer.parseInt(nums2[i]) : 0;

			//2、如果两个版本号不同，则返回 1 或 -1
			if (num1 != num2) {
				return num1 > num2 ? 1 : -1;
			}
		}

		//版本号相同，返回 0
		return 0;
	}

}